package cn.edu.gzgs.mapper;

import cn.edu.gzgs.entity.UserRole;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
// import org.apache.ibatis.annotations.Select; // No longer needed
// import java.util.Set; // No longer needed

import java.util.List;

/**
 * 用户-角色关联Mapper
 * @author Zyf
 */
@Mapper
public interface UserRoleMapper extends BaseMapper<UserRole> {

    // /**
    //  * 根据用户ID查找关联的角色ID集合
    //  * 此方法为自定义查询，仍需保留。它可以是注解SQL，也可以在XML文件中定义。
    //  * @param userId 用户ID
    //  * @return 角色ID集合
    //  */
    // @Select("SELECT role_id FROM user_role WHERE user_id = #{userId}") // 如果是简单查询，可以这样注解
    // Set<String> findRoleIdsByUserId(@Param("userId") String userId); // Method removed

    /**
     * 批量插入用户角色关联记录
     *
     * @param userRoleList 用户角色关联列表
     */
    @Insert("""
            <script>
                INSERT INTO user_role (user_id, role_id) VALUES
                <foreach collection="userRoleList" item="item" separator=",">
                    (#{item.userId}, #{item.roleId})
                </foreach>
            </script>
            """)
    void batchInsert(@Param("userRoleList") List<UserRole> userRoleList);
} 